<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

    //实际中创建对象使用构造函数 不会使用普通函数
    //构造函数 能够创建处对象的特殊函数

    //为了将普通函数和生成对象的函数区分开，出现了构造函数的概念
    /**
     * 构造函数名字，单词的首字母均为大写
     * 在构造函数中，this 指代实例对象
     * 通过 new 关键字调用构造函数
     * new 关键字的作用
     * 创建原料:  隐式创建一个空对象，并且 this 指代这个空对象
     * 产品输出:  隐式将加工过的对象 return 返回

    */
    function CreateMovie(movieName,type,rate,showTime){
        this.movieName=movieName;
        this.type=type;
        this.rate=rate;
        this.showTime=showTime;
        this.getNextShowing = function(){
            var current = 11;
            for(var i=0;i<this.showTime.length;i++){
                if(current<=parseInt(this.showTime[i])){
                    console.log(this.movieName+"下一次的播放时间"+this.showTime[i]);
                    break;
                }
            }
        }
    }

    //对象实例化过程 需要使用new关键字
    var movie1 = new CreateMovie("007","谍战片",9.0,["8:00","12:00","17:00"]);
    console.log(movie1);
    movie1.getNextShowing();
    var movie2 = new CreateMovie("指环王","冒险类",9.2,["7:00","14:00","18:00"]);
    console.log(movie2);
    movie2.getNextShowing();

</script>
</html>